home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-09-23 | 815 b | 42 lines | [TEXT/RLAB] |
- //-------------------------------------------------------------------//
-
- // Syntax: triu ( A )
- // triu ( A , K )
-
- // Description:
-
- // triu(x) returns the upper triangular part of A.
-
- // tril(x; k) returns the elements on and above the k-th diagonal of
- // A.
-
- // K = 0: main diagonal
- // K > 0: above the main diag.
- // K < 0: below the main diag.
-
- // See Also: tril
- //-------------------------------------------------------------------//
-
- triu = function(x, k)
- {
- if (!exist (k)) { k = 0; }
- nr = x.nr; nc = x.nc;
-
- if(k > 0)
- {
- if (k > (nc - 1)) { error ("triu: invalid value for k"); }
- else
- if (abs (k) > (nr - 1)) { error ("triu: invalid value for k"); }
- }
-
- y = zeros(nr, nc);
-
- for(j in max( [1,1+k] ):nc)
- {
- i = 1:min( [nr, j-k] );
- y[i;j] = x[i;j];
- }
-
- return y;
- };
-